﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace CloudPms.Domain.Repository
{

    /// <summary>
    /// 查询订单条件
    /// </summary>
    [Serializable]
    [DataContract]
    public class SearchOrderParam
    {
        /// <summary>
        /// 酒店编号【必填】
        /// </summary>
        [DataMember]
        public string HotelID { get; set; }

        /// <summary>
        /// 预定号 - 批量
        /// </summary>
        [DataMember]
        public string ResvID { get; set; }

        /// <summary>
        /// 在住单号
        /// </summary>
        [DataMember]
        public string OrderID { get; set; }

        /// <summary>
        /// 房号 - 互斥 组合时间
        /// </summary>
        [DataMember]
        public string RoomNo { get; set; }

        /// <summary>
        /// 房型 - 互斥 组合时间
        /// </summary>
        [DataMember]
        public string RoomType { get; set; }

        /// <summary>
        /// 客人姓名（模糊）组合
        /// </summary>
        [DataMember]
        public string GuestName { get; set; }

        /// <summary>
        ///电话号码 - 组合
        /// </summary>
        [DataMember]
        public string TelephoneNo { get; set; }

        /// <summary>
        /// 卡号 - 组合(以后可以按团队编号查询)
        /// </summary>
        [DataMember]
        public string MemberNo { get; set; }

        /// <summary>
        /// 状态 - 组合 (预订中R ,预订完成O, 预订取消X, 预订未到N)
        /// </summary>
        [DataMember]
        public string Status { get; set; }

        /// <summary>
        /// 客源类型 - 组合
        /// </summary>
        [DataMember]
        public string GuestSourceType { get; set; }

        /// <summary>
        /// 渠道 - 组合
        /// </summary>
        [DataMember]
        public int ChannelInfo { get; set; }

        /// <summary>
        /// 预计到达开始时间 - 组合
        /// </summary>
        [DataMember]
        public System.Nullable<DateTime> ArriveBeginDate { get; set; }

        /// <summary>
        /// 预计到达结束时间 - 组合
        /// </summary>
        [DataMember]
        public System.Nullable<DateTime> ArriveEndDate { get; set; }


        /// <summary>
        /// 预计离开开始时间 - 组合
        /// </summary>
        [DataMember]
        public System.Nullable<DateTime> LeaveBeginDate { get; set; }

        /// <summary>
        /// 预计离开结束时间 - 组合
        /// </summary>
        [DataMember]
        public System.Nullable<DateTime> LeaveEndDate { get; set; }

        /// <summary>
        /// CheckOut Date Begin - 组合
        /// </summary>
        [DataMember]
        public System.Nullable<DateTime> CheckOutBeginDate { get; set; }

        /// <summary>
        /// CheckOut Date End - 组合
        /// </summary>
        [DataMember]
        public System.Nullable<DateTime> CheckOutEndDate { get; set; }

        /// <summary>
        /// 指定排序字段
        /// </summary>
        [DataMember]
        public string OrderBy { get; set; }

        /// <summary>
        /// 检索页
        /// </summary>
        [DataMember]
        public int PageIndex { get; set; }

        /// <summary>
        /// 检索页行数
        /// </summary>
        [DataMember]
        public int PageSize { get; set; }
    }
}
